package twi.query.template2;

import java.io.Serializable;
import java.util.ArrayList;

import javax.swing.JComponent;

import jtools.gui.TreeLayoutNode;

public interface TemplateNode extends TreeLayoutNode, Serializable{

	public boolean isVisible();
	
	public String getOntClassName();
	
	public String getVariableName();
	
	public String getPropertyName();
	
	public ArrayList<TemplateNode> getChild(String propertyName);
	
	public TemplateNode getParent();
	
	public ArrayList<String> getVisiblePropertys();
	public ArrayList<String> getAllPropertys();
	
	public JComponent createView(boolean edit);

	public void rekursiveMinimize();

	public void maximize();

	public void init(TemplateNode parent, boolean edit);

	public boolean isOptional();

	public boolean showVariable();

	public ArrayList<TemplateNode> getIndividualList();

	public PropertyNode getPropertyNode(String prop);

	public String getPropertyValue(String prop);
}
